This invention relates to the field of administration of a broker-based publish/subscribe messaging system.
Publish/subscribe data processing systems enable data messages to be distributed from publishing computer applications (also referred to as publishers) to subscribing computer applications (also referred to as subscribers). The publishing and subscribing applications can be widely distributed client applications connected using network communications.
In publish/subscribe models a publisher application can send a message to multiple subscriber applications via a messaging system. Subscribers register an interest with a messaging system in receiving messages from one or more publishers or relating to a particular message topic or content. The publisher creates a message and publishes it to the messaging system which then delivers it to the subscribers.
The publish/subscribe arrangement is suitable in situations where a single message is required by and distributed to multiple client applications. The publication operation is kept separate from the subscriptions and the publisher does not need to know anything about the type or number of subscribers.
The messaging system is the intermediary acting between the publishers and subscribers. Messaging system middleware matches publications to subscribers and handles the delivery of the messages. Messaging middleware can use various architectures including a message broker or network of message brokers. Communication is via any form of communication media including wireless networks, the Internet, etc.
In a message broker architecture, the client applications in the form of publisher and/or subscriber applications are connected to a message broker which handles the communication between the client applications. The message broker coordinates the distribution of messages. It provides the routing of the messages, it is responsible for the delivery of messages and the authentication and authorisation of users. This form of architecture allows a publisher client application to send a message to multiple subscriber client applications while only requiring a connection to the message broker. Also, the client applications require minimal messaging software as most of the messaging processing is carried out on the messaging broker.
Administration of a publish/subscribe message broker, running on a remote system, is typically done using some sort of graphical user interface (GUI) or command-line tools which send special messages into the broker through some form of administration connection. In other situations, the administrator can log on to the remote system (for example, using telnet or ssh (secure shell)) and then use local command-line tools to reconfigure the broker. In this way, along side publish/subscribe protocol users, an administrator connects over a different sort of connection and carries out the administration.
A more natural approach to remote administration of a publish/subscribe message broker is to use publish/subscribe messaging for remote administration. This requires a client application which can publish messages on a topic and can display messages received on a topic to which the client application has subscribed.
The procedure would be that commands are published on a pre-defined administration topic and the administrator client application subscribes to a response topic to see the result of the command. So, in effect, the administrator client application has an interactive dialogue with the broker using a pair of publish/subscribe topics. An application could also make use of this same mechanism to give a GUI-based administration environment using the publish/subscribe infrastructure for communication.